'''
Created on Apr 6, 2011

@author: riche
'''

def get_key(size, key_string):
    return hash(key_string) % size

class SmallHashMap(object):
    '''
    classdocs
    '''


    def __init__(self, size):
        '''
        Constructor
        '''
        self._size = size
        self._core = [None for i in range(self._size)]
        
    def put(self, key_string, value):
        key = self._get_key(key_string)
        if self._core[key] is None:
            self._core[key] = [value]
        else:
            self._core[key].append(value)
        
    def is_in(self, key_string):
        retval = False
        key = self._get_key(key_string)
        if self._core[key] is not None:
            retval = True
        return retval
    
    def get(self, key_string):
        key = self._get_key(key_string)
        return self._core[key]
        
    def _get_key(self, key_string):
        return get_key(self._size, key_string)